#include <string>
using namespace std;
class Solution {
public:
    string addStrings(string num1, string num2) {
        int s1=num1.size()-1,s2=num2.size()-1;//s1,s1分别是num1,num2字符个数
        int sum=0;
        int up=0;//up是进位
        string num3;//存放相加后结果的字符串
        //s1或s2等于-1时则这个字符串加完了所有值
        //且up等于0时没进位了(主要针对只有两个字符相加且加完大于10)，结束循环
        while(s1!=-1||s2!=-1||up!=0)
        {   
            int n1=0,n2=0;  //n1,n2分别是转成数字的相应字符
            if(s1!=-1)  //两个不同长度的字符串相加有一个肯定不能进if
            {
                n1=num1[s1--]-'0';//转换
            }
            if(s2!=-1)
            {
                n2=num2[s2--]-'0';//转换
            }
            sum=n1+n2+up;   //相加
            num3+=sum%10+'0';//把相加后数字的各位插入到num3尾部
            up=sum/10;  //进位判断
        }
        reverse(num3.begin(),num3.end());//最后反转一下字符串即可
        return num3;
    }
};